জাভাস্ক্রিপ্ট অবজেক্ট ম্যাপ (JS Object Map)

Web Development - জাভাস্ক্রিপ্ট (JavaScript) জাভাস্ক্রিপ্ট অবজেক্ট (JS Object) |
249
249

Map হল একটি জাভাস্ক্রিপ্ট ডেটা স্ট্রাকচার, যা key-value পেয়ার হিসেবে উপাদান সংরক্ষণ করে। এটি সাধারণত অবজেক্টের মত কাজ করে, কিন্তু কিছু গুরুত্বপূর্ণ পার্থক্য রয়েছে:

  • অবজেক্টের কীগুলো সাধারণত স্ট্রিং বা সিম্বল হতে পারে, কিন্তু Map-এর কীগুলো যেকোনো ডেটা টাইপ হতে পারে, যেমন অবজেক্ট, ফাংশন, সংখ্যা ইত্যাদি।
  • Map-এর কীগুলোর ইনসারশন অর্ডার বজায় থাকে, অর্থাৎ আপনি যে অর্ডারে উপাদানগুলো যোগ করবেন, সেগুলো সেই অর্ডারেই রিটার্ন হবে।
  • Map-এর সাথে আরও অনেক শক্তিশালী মেথড রয়েছে, যা অবজেক্টের তুলনায় বেশি কার্যকরী।

Map এর বৈশিষ্ট্য

  • Key-value pair ধারণ করে।
  • কীগুলো যেকোনো ডেটা টাইপ হতে পারে।
  • ইনসারশন অর্ডার বজায় রাখে।
  • size প্রপার্টি দ্বারা Map-এর মোট উপাদান সংখ্যা জানা যায়।
  • Map একটি ইটারেবল অবজেক্ট, যা for...of লুপের মাধ্যমে পুনরাবৃত্তি করা যায়।

Map তৈরি করা

Map তৈরি করার জন্য new Map() ব্যবহার করতে হয়। আপনি একটি খালি Map বা কোনো প্রাথমিক key-value pair সহ Map তৈরি করতে পারেন।

উদাহরণ: খালি Map তৈরি

const map = new Map();

উদাহরণ: প্রাথমিক key-value pair সহ Map তৈরি

const map = new Map([
    ['name', 'Alice'],
    ['age', 25],
    ['city', 'New York']
]);

console.log(map);

Map এর সাথে কাজ করা

set(key, value)

এই মেথডটি একটি নতুন key-value pair Map-এ যোগ করে। যদি আগের থেকেই কীগুলো থাকে, তবে তাদের মান পরিবর্তন হয়ে যায়।

const map = new Map();
map.set('name', 'Bob');
map.set('age', 30);

console.log(map.get('name'));  // আউটপুট: Bob
console.log(map.get('age'));   // আউটপুট: 30

get(key)

এই মেথডটি একটি নির্দিষ্ট কী-এর মান রিটার্ন করে।

console.log(map.get('name'));  // আউটপুট: Bob

has(key)

এই মেথডটি পরীক্ষা করে যে, Map-এ একটি নির্দিষ্ট কী আছে কি না।

console.log(map.has('name'));  // আউটপুট: true
console.log(map.has('city'));  // আউটপুট: false

delete(key)

এই মেথডটি একটি নির্দিষ্ট কী এবং তার মান Map থেকে মুছে ফেলে।

map.delete('age');
console.log(map.has('age'));  // আউটপুট: false

clear()

এই মেথডটি Map-এর সব উপাদান মুছে ফেলে।

map.clear();
console.log(map.size);  // আউটপুট: 0

size

এই প্রপার্টি Map-এ মোট উপাদানের সংখ্যা জানায়।

console.log(map.size);  // আউটপুট: 2

Map-এ ইটারেশন

Map একটি ইটারেবল অবজেক্ট, তাই আপনি এটি for...of লুপ দিয়ে পুনরাবৃত্তি করতে পারেন। আপনি Map-এর কীগুলোর, মানগুলোর, বা কীগুলোর সাথে মানগুলোর উপর ইটারেশন করতে পারবেন।

উদাহরণ: for...of লুপ ব্যবহার করে Map-এ ইটারেশন

const map = new Map([
    ['name', 'Alice'],
    ['age', 25],
    ['city', 'New York']
]);

for (let [key, value] of map) {
    console.log(`${key}: ${value}`);
}

আউটপুট:

name: Alice
age: 25
city: New York

উদাহরণ: forEach() মেথড ব্যবহার

map.forEach((value, key) => {
    console.log(`${key}: ${value}`);
});

আউটপুট:

name: Alice
age: 25
city: New York

এখানে, forEach() মেথড ব্যবহার করা হয়েছে যা key এবং value প্যারামিটার হিসেবে প্রত্যেকটি Map-এর উপাদান দিয়ে এক্সিকিউট হয়।


Map এবং Object এর মধ্যে পার্থক্য

বৈশিষ্ট্যMapObject
কীগুলোর টাইপযেকোনো ডেটা টাইপ (স্ট্রিং, নম্বর, অবজেক্ট, ফাংশন)কেবল স্ট্রিং বা সিম্বল
কীগুলোর অর্ডারইনসারশন অর্ডার বজায় থাকেঅর্ডার নির্দিষ্ট নয়
আকারsize প্রপার্টিObject.keys() দিয়ে গণনা করতে হয়
কীগুলোর গুণগত মানইউনিক কীগুলোএকাধিক কীগুলো হতে পারে
মেথড এবং প্রপার্টিset(), get(), has(), delete(), clear(), sizeশুধুমাত্র সাধারণ অবজেক্ট অপারেশন

এটি পরিষ্কার যে, Map ব্যবহার করা বেশি কার্যকরী যখন ডেটার সাথে কাজ করতে হয় এবং ইনসারশন অর্ডার এবং ডেটার গুণগত মানের প্রয়োজন হয়।


সারাংশ

Map জাভাস্ক্রিপ্টের একটি শক্তিশালী ডেটা স্ট্রাকচার যা key-value pair হিসেবে উপাদান সংরক্ষণ করে। এতে কীগুলো যেকোনো ডেটা টাইপ হতে পারে, এবং এটি ইনসারশন অর্ডার বজায় রাখে। Map-এর সাথে কাজ করার জন্য শক্তিশালী মেথড যেমন set(), get(), has(), delete(), clear() ইত্যাদি রয়েছে, যা ডেটা পরিচালনা এবং ইটারেশনকে সহজ করে তোলে। Object-এর তুলনায়, Map আরও বেশি সুবিধাজনক যখন আপনাকে কীগুলোর গুণগত মান এবং ইনসারশন অর্ডার বজায় রাখতে হয়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion